package com.sunyur.tailor.channel.service.inner.invoice.model;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Author: HuBaoding
 * @Description:
 * @Date: Created in 15:06 2021/5/17
 */
@Data
public class InvoiceHeadModel implements Serializable {
    /**
     * 发票单编号
     */
    private String invoiceOrderCode;
    /**
     * 发票类型（0 普票 1 专票）
     */
    private Integer invoiceType;
    /**
     * 支付类型（1: 银行转账 2: 电汇 3: 现金 4: 银行承兑汇票 5: 商业承兑汇票 6: 其他 ）
     */
    private Integer payType;
    /**
     * 所属供应商编号
     */
    private String supplierCode;
    /**
     * 币种
     */
    private String currency;
    /**
     *本位币
     */
    private String baseCurrency;
    /**
     *汇率日期
     */
    private Long baseExchangeRateDate;
    /**
     *汇率类型
     */
    private String baseExchangeRateTypeCode;
    /**
     *汇率
     */
    private BigDecimal baseExchangeRate;
    /**
     * 采购员编号
     */
    private String agentCode;

    /**
     * 采购员名称
     */
    private String agentName;

    /**
     * 税务发票集合
     */
    private List<TaxInvoiceInfoModel> taxInvoiceList;
    /**
     * 发票税额
     */
    private BigDecimal taxAmount;
    /**
     * 实际发票税额
     */
    private BigDecimal realTaxAmount;
    /**
     * 含税总金额
     */
    private BigDecimal taxIncludedAmount;
    /**
     * 真实含税总金额
     */
    private BigDecimal realTaxIncludedAmount;
    /**
     * 不含税总金额
     */
    private BigDecimal taxExcludedAmount;
    /**
     * 真实不含税金额
     */
    private BigDecimal realTaxExcludedAmount;
    /**
     * 备注
     */
    private String remark;
    /**
     * 企业主体编码
     */
    private String settleCompanyCode;
    /**
     * 企业主体名称
     */
    private String settleCompanyName;
    /**
     *开票主体编码
     */
    private String invoiceCompanyCode;
    /**
     *开票主体编码
     */
    private String invoiceCompanyName;
    /**
     * 收票人地址
     */
    private String invoiceReceiveAddress;
    /**
     * 收票人名称
     */
    private String invoiceReceiveName;
    /**
     * 收票人手机号
     */
    private String invoiceReceiveMobile;
    /**
     * 开票抬头信息（六要数）
     */
    private InvoiceTitleInfoModel invoiceTitleInfoVO;
    /**
     * 扩展信息
     */
    private Map<String,Object> extend;
    /**
     * 核算中心外部编号
     */
    private String settleGroupCode;
    /**
     * 采购中心外部编号
     */
    private String purchaseUnitCode;
    /**
     * 记账日期
     */
    private Long chargeDate;
    /**
     * 创建人工号
     */
    private String creator;
    /**
     * 创建时间
     */
    private Long createTime;
    /**
     * 供应商统一社会信用代码
     */
    private String supplierCreditCode;
    /**
     * 类型（0标准发票，1红冲发票，2质保金发票）
     */
    private Integer type;
    /**
     *
     */
    private OperateBizDataModel operateBizData;
    /**
     * 合同编码
     */
    private String contractCode;
    /**
     * 合同系统编码
     */
    private String contractSysCode;
    /**
     * 供应商账户信息
     */
    private SupplierBankInfoModel supplierBankInfoVO;
    /**
     * 付款条款信息
     */
    private TradePaymentTermModel tradePaymentTerm;
}
